/*
 * Copyright (c) 2020-2030 Sishun.Co.Ltd. All Rights Reserved.
 */
package com.demo.elasticsearch.utils;

import com.demo.elasticsearch.pojo.Context;
import lombok.experimental.UtilityClass;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

/**
 * @author ：lvfeilong
 * @version ：
 * @description ：
 * @program ：elasticsearch-study-jd
 * @date ：Created in 2021/6/29 17:21
 */
@UtilityClass
public class ParseHtmlUtil {

    public List<Context> insertEsBySearch(String keyword) throws IOException {
        String url = "https://search.jd.com/Search?keyword="+keyword;
        //解析网页（返回的就是浏览器Document对象）
        Document document = Jsoup.parse(new URL(url), 30000);
        //所有你在js中可以使用的方法，这里都可以使用
        Element element = document.getElementById("J_goodsList");
        if (element==null) {
            return new ArrayList<>();
        }
        //获取所有的li标签
        Elements elements = element.getElementsByTag("li");
        if (elements==null) {
            return new ArrayList<>();
        }
        //保存搜索结果内容
        List<Context> contexts = new ArrayList<>(elements.size());
        //获取元素中的内容
        for (Element li : elements) {
            String image = li.getElementsByTag("img").get(0).attr("data-lazy-img");
            String price = li.getElementsByClass("p-price").get(0).text();
            String name = li.getElementsByClass("p-name").get(0).text();
            Context context = new Context();
            context.setImage(image);
            context.setPrice(price);
            context.setTitle(name);
            contexts.add(context);
        }
        return contexts;
    }

}